package com.ruoyi.tb.lmt.domain.vo;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import lombok.Data;
import java.util.Date;

import java.io.Serializable;
import java.util.List;

/**
 * 检修计划视图对象 tb_repairplan
 *
 * @author ruoyi
 * @date 2023-12-07
 */
@Data
@ExcelIgnoreUnannotated
public class TbRepairplanVo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
//    @ExcelProperty(value = "主键")
    private Long id;

    /**
     * 计划编号
     */
    @ExcelProperty(value = "计划编号")
    private String planCode;

    /**
     * 计划日期
     */
    @ExcelProperty(value = "计划日期")
    private Date planDate;

    /**
     * 计划类型（定检、年修）
     */
//    @ExcelProperty(value = "计划类型", converter = ExcelDictConvert.class)
//    @ExcelDictFormat(readConverterExp = "定=检、年修")
    private String repairPlanType;

    /**
     * 检修单元
     */
//    @ExcelProperty(value = "检修单元")
    private String repairUnit;

    /**
     * 计划状态（预计化、正式计划、已完成、已作废）
     */
    //@ExcelProperty(value = "计划状态", converter = ExcelDictConvert.class)
    //@ExcelDictFormat(readConverterExp = "预=计化、正式计划、已完成、已作废")
    @ExcelProperty(value = "计划状态")
    private String status;

    /**
     * 计划名称
     */
    @ExcelProperty(value = "计划名称")
    private String planName;

    /**
     * 计划时间
     */
//    @ExcelProperty(value = "计划时间")
    private Date approveDate;

    /**
     * 计划人
     */
//    @ExcelProperty(value = "计划人")
    private String approveUser;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;

    /**
     * 计划类型二级分类（年修：月计划、轮廓计划；定检：定检，轮廓计划）
     */
//    @ExcelProperty(value = "计划类型二级分类", converter = ExcelDictConvert.class)
//    @ExcelDictFormat(readConverterExp = "年=修：月计划、轮廓计划；定检：定检，轮廓计划")
    private String category;

    private List<TbRepairplanlistVo> repairplanlistVos;

    private List<TbLocomotiveVo> locomotiveVos;
}
